<!-- 选择Thymeleaf作为模板引擎。模板名称是由逻辑视图名派生而来的，再加上“/templates/”前缀和“.html”后缀。
最终形成的模板路径将是“/templates/home.html”。所以，我们需要将模板放到项目的“/src/main/resources/templates/home.html”中。 -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Taco Cloud</title>
</head>
<body>
    <h1>Welcome to...</h1>
    <h2>Taco Cloud</h2>
    <!-- <img>标签。它使用了Thymeleaf的th:src属性和@{...}表达式，以便于引用相对于上下文路径的图片。像图片这样的静态资源位于“/src/main/resources/static”文件夹。
    这意味着，在项目中Taco Cloud Logo的图片路径必须为“/src/main/resources/static/images/TacoCloud.jpg”-->
    <img th:src="@{/images/TacoCloud.png}"  alt="TacoCloud.png"/>

<!-- 默认情况下，像Thymeleaf和FreeMarker这样的模板方案在配置时，会缓存模板解析的结果，这样一来，在为每个请求提供服务的时候，模板就不用重新解析了。
在生产环境中，这是一种很好的方式，因为它会带来一定的性能收益。但是，在开发期，缓存模板就不太友好了。在应用运行的时候，如果缓存模板，刷新浏览器就无法看到模板变更的效果了。
即便我们对模板做了修改，在应用重启之前，缓存的模板依然会有效。DevTools通过禁用所有模板缓存解决了这个问题。

如果你使用H2数据库进行开发，DevTools将会自动启用H2控制台，这样一来，我们可以通过Web浏览器进行访问。
只需要让浏览器访问http://localhost:8080/h2-console，就能看到应用所使用的数据。-->

<!-- 这一切到底是如何运行起来的呢？Spring在幕后做了些什么来保证应用的需求能够得到满足？要理解Spring到底做了些什么，我们首先来看一下构建规范。
在pom.xml文件中，我们声明了对Web和Thymeleaf starter的依赖。这两项依赖会传递引入大量其他的依赖，包括：
●Spring的MVC框架；
●嵌入式的Tomcat；
●Thymeleaf和Thymeleaf布局方言。

它还引入了Spring Boot的自动配置库。当应用启动的时候，Spring Boot的自动配置将会探测到这些库，并自动完成如下功能：
●在Spring应用上下文中配置bean以启用Spring MVC；
●在Spring应用上下文中配置嵌入式的Tomcat服务器；
●配置Thymeleaf视图解析器以便于使用Thymeleaf模板渲染Spring MVC视图。 -->
</body>
</html>